// BWCrossStitchLayer - where most of the work happens.  show the stitch symbol

#import "BWLayer.h"

typedef enum {
    kDisplay_ColoredSymbols,
    kDisplay_BlackSymbol,
    kDisplay_Color,
    kDisplay_FakeStitch,
    kDisplay_Silhouette
} BWCrossStitchLayer_DisplayType;

@class BWCrossStitchSet;
@class BWCrossStitchChangeList;
@class BWThread;

@interface BWCrossStitchLayer : BWLayer <NSCoding>
{
    BWCrossStitchSet *symbolSet;
    BWCrossStitchChangeList *changes;

    BWCrossStitchLayer_DisplayType displayType;
}

- (void) setChangeList: (BWCrossStitchChangeList *) changes;
- (void) applyChanges;
- (BWCrossStitchSet *) crossStitches;

- (void) setDisplayType: (BWCrossStitchLayer_DisplayType) type;
- (BWCrossStitchLayer_DisplayType) displayType;

- (void) replaceThread: (BWThread *) search
            withThread: (BWThread *) replace;

@end // BWCrossStitchLayer

@interface BWCrossStitchLayer (Degubbing)
- (void) addStitchesForDebugging;
@end // Degubbing
